home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / pcl_src.zoo / pyr-low.lsp < prev    next >
Text File  |  1992-07-09  |  2KB  |  51 lines

  1. ;;; -*- Mode:LISP; Package:PCL; Base:10; Syntax:Common-lisp -*-
  2. ;;;
  3. ;;; *************************************************************************
  4. ;;; Copyright (c) 1985, 1986, 1987, 1988, 1989, 1990 Xerox Corporation.
  5. ;;; All rights reserved.
  6. ;;;
  7. ;;; Use and copying of this software and preparation of derivative works
  8. ;;; based upon this software are permitted.  Any distribution of this
  9. ;;; software or derivative works must comply with all applicable United
  10. ;;; States export control laws.
  11. ;;; 
  12. ;;; This software is made available AS IS, and Xerox Corporation makes no
  13. ;;; warranty about the software, its performance or its conformity to any
  14. ;;; specification.
  15. ;;; 
  16. ;;; Any person obtaining a copy of this software is requested to send their
  17. ;;; name and post office or electronic mail address to:
  18. ;;;   CommonLoops Coordinator
  19. ;;;   Xerox PARC
  20. ;;;   3333 Coyote Hill Rd.
  21. ;;;   Palo Alto, CA 94304
  22. ;;; (or send Arpanet mail to CommonLoops-Coordinator.pa@Xerox.arpa)
  23. ;;;
  24. ;;; Suggestions, comments and requests for improvements are also welcome.
  25. ;;; *************************************************************************
  26. ;;; 
  27. ;;; This is the Pyramid version of low.lisp -- it runs with versions 1.1
  28. ;;; and newer -- Created by David Bein Mon May  4 11:22:30 1987
  29. ;;;
  30. (in-package 'pcl)
  31.  
  32.   ;;   
  33. ;;;;;; Cache No's
  34.   ;;  
  35.  
  36. ;;; The purpose behind the shift is that the bottom 2 bits are always 0
  37. ;;; We use the same scheme for symbols and objects although a good
  38. ;;; case may be made for shifting objects more since they will
  39. ;;; be aligned differently...
  40.  
  41. ;(defmacro symbol-cache-no (symbol mask)
  42. ;  `(logand (the fixnum (ash (lisp::%sp-make-fixnum ,symbol) -2))
  43. ;      (the fixnum ,mask)))
  44.  
  45. (defmacro object-cache-no (symbol mask)
  46.   `(logand (the fixnum (ash (lisp::%sp-make-fixnum ,symbol) -2))
  47.       (the fixnum ,mask)))
  48.  
  49.  
  50.  
  51.